package com.yulinlin.web3j.domain;

import java.math.BigDecimal;
import java.math.BigInteger;

/**
 * 币种规范接口
 */
public interface EIP20Interface {

    //获取token名字，比如：“kongyixueyuan”
    String name();

    // //获取token简称，比如："KYXYB"
    String symbol();


    //发币总数
    BigInteger totalSupply();

    //余额
    BigInteger balanceOf(String address);

    //转账
    boolean transfer(String to, BigInteger value);

    //指定用户向目标转账
    boolean transferFrom(String from, String to, BigInteger value);


    //给指定用户批准额度
    boolean approve(String spender, BigInteger value);

    //币种精度
   default  BigDecimal decimals(){
       return null;
   }

    /**
     * 指定用户允许目标用户的额度
     * @param owner 指定用户
     * @param spender 目标用户
     * @return
     */
    BigInteger allowance(String owner, String spender);



}
